package com.voe.callback;

import com.voe.common.ProcessingTypes;

public abstract class VoEMediaProcess {

	// The VoiceEngine user should override the Process() method in a
	// derived class. Process() will be called when audio is ready to
	// be processed. The audio can be accessed in several different modes
	// given by the |type| parameter. The function should modify the
	// original data and ensure that it is copied back to the |audio10ms|
	// array. The number of samples in the frame cannot be changed.
	// The sampling frequency will depend upon the codec used.
	// If |isStereo| is true, audio10ms will contain 16-bit PCM data
	// samples in interleaved stereo format (L0,R0,L1,R1,...).
	protected abstract void process(int channel, ProcessingTypes type,
			short[] audio10ms, int samplingFreq, boolean isStereo);
}
